import { frontendListenerSlot, makeHandlerInvoker, makeListenerCaller } from '../ipc'

export const notify = makeListenerCaller('notify')
export const openLoginPage = makeListenerCaller('openLoginPage')
export const openSidInfoPage = makeListenerCaller('openSidInfoPage')
export const openSupportPage = makeListenerCaller('openSupportPage')
export const quit = makeListenerCaller('quit')
export const showAboutWindow = makeListenerCaller('showAboutWindow')
export const openDiscordLink = makeListenerCaller('openDiscordLink')
export const openWinePrefixFAQ = makeListenerCaller('openWinePrefixFAQ')
export const openCustomThemesWiki = makeListenerCaller('openCustomThemesWiki')
export const createNewWindow = makeListenerCaller('createNewWindow')
export const readConfig = makeHandlerInvoker('readConfig')
export const isLoggedIn = makeHandlerInvoker('isLoggedIn')
export const writeConfig = makeHandlerInvoker('writeConfig')
export const kill = makeHandlerInvoker('kill')
export const abort = makeListenerCaller('abort')
export const getUserInfo = makeHandlerInvoker('getUserInfo')
export const getAmazonUserInfo = makeHandlerInvoker('getAmazonUserInfo')
export const syncSaves = makeHandlerInvoker('syncSaves')
export const getDefaultSavePath = makeHandlerInvoker('getDefaultSavePath')
export const getGameInfo = makeHandlerInvoker('getGameInfo')
export const getExtraInfo = makeHandlerInvoker('getExtraInfo')
export const getLaunchOptions = makeHandlerInvoker('getLaunchOptions')
export const getPrivateBranchPassword = makeHandlerInvoker('getPrivateBranchPassword')
export const setPrivateBranchPassword = makeHandlerInvoker('setPrivateBranchPassword')
// REDmod integration
export const getAvailableCyberpunkMods = makeHandlerInvoker('getAvailableCyberpunkMods')
export const setCyberpunModConfig = makeHandlerInvoker('setCyberpunkModConfig')
export const getGameSettings = makeHandlerInvoker('getGameSettings')
export const getInstallInfo = makeHandlerInvoker('getInstallInfo')
export const runWineCommand = makeHandlerInvoker('runWineCommand')
export const runWineCommandForGame = makeHandlerInvoker('runWineCommandForGame')
export const onConnectivityChanged = frontendListenerSlot('connectivity-changed')
export const getConnectivityStatus = makeHandlerInvoker('get-connectivity-status')
export const setConnectivityOnline = makeListenerCaller('set-connectivity-online')
export const connectivityChanged = makeListenerCaller('connectivity-changed')
export const isNative = makeHandlerInvoker('isNative')
export const getThemeCSS = makeHandlerInvoker('getThemeCSS')
export const getCustomThemes = makeHandlerInvoker('getCustomThemes')
export const getCustomCSS = makeHandlerInvoker('getCustomCSS')
export const setTitleBarOverlay = makeListenerCaller('setTitleBarOverlay')
export const isGameAvailable = makeHandlerInvoker('isGameAvailable')
